home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
colorchaos.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
105 lines
/***********************************************************************
GADGET: "'Color Chaos'" "6" AUTO TYP: "?"
$DAT >>ColorChaos.clssa<< 02.10.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
Benötigt man besondere Farbeffekte, die den Betrachter nerven, so
greift man zu grassen Farbänderungen.
Dieser Macro erstellt solche Farbeffekte, die nichts mit Hormonie
zu tun haben. Jedoch kann die Intensität bzw. die Frequenz beliebig
verändert werden.
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>3 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
AnzFarben=2**t - 1
MSRequester "TITLE '*** Color - Chaos ***'",
"''",
"'Wählen Sie eine Effektart aus.'",
"PTEXT 'Nur Chaosfarben verwenden.'",
"'Chaosfarben auf die Naturfarben legen.'",
"'Chaosfarben einmischen'"
IF RC~=0 THEN LEAVE
Art=RESULT
COLRequest "FROM 0 TO 1 TITLE '*** Color - Chaos ***''''Farbbereich für die''Chaoserstellung festlegen.'"
IF RC~=0 THEN LEAVE
ChaosListe=RESULT
INTRequest "'*** Color - Chaos ***''''Geben Sie die Anzahl''der Farbsprünge ein.''<< Zwischen 1 bis "Anzahl" >>'" Anzahl
IF RC~=0 THEN LEAVE
ColorJmp=RESULT
IF ColorJmp < 1 | ColorJmp>Anzahl THEN DO
Message "'Falsche Eingabe'"
LEAVE
END
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
Pos=0
ColorJmp=ColorJmp/Anzahl
DO UNTIL von>bis
ViewFrame COPS von
IF RC~=0 THEN LEAVE
IF TRUNC(Pos*ColorJmp) < TRUNC((Pos+1)*ColorJmp) | Pos=0 THEN DO
Liste=""
GetColor ChaosListe
ListeR=RESULT
DO UNTIL ListeR=""
PARSE VAR ListeR x r g b ListeR
IF Art=1 THEN DO
r=RANDU()*256
g=RANDU()*256
b=RANDU()*256
END
ELSE IF Art=2 THEN DO
r=(r+RANDU()*256)/2
g=(g+RANDU()*256)/2
b=(b+RANDU()*256)/2
END
ELSE IF Art=3 THEN DO
r=(3*r+RANDU()*256)/4
g=(3*g+RANDU()*256)/4
b=(3*b+RANDU()*256)/4
END
Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
END
END
SetColor Liste
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
Pos=Pos+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Chaos-Effekt müssen''min. 4 Frames ausgewählt werden.'"
FailAt AltFail
exit